home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 4 / Amiga Tools 4.iso / grafix / raytracing / raylab / source / defs.h < prev    next >
C/C++ Source or Header  |  1996-02-14  |  2KB  |  64 lines

  1. /*
  2.     name:    defs.h
  3.  
  4.     Defenitions and Includes
  5.     ------------------------
  6.  
  7. */
  8.  
  9. #include  <sys/types.h>
  10. #include  <math.h>
  11. #ifdef _M68881
  12. #include  <m68881.h>        /* Inline std. math coprocessor functions */
  13. #endif                /* if compiled for Motorola 68881+ FPU (Amiga) */
  14.  
  15. #include  "typedef.h"
  16. #include  "protos.h"
  17.  
  18.  
  19. #define parraymaxpix 5000        /* Maximum amount of pixels per line */
  20. #define parraysize parraymaxpix*3
  21. #define maxobjects 1000            /* Maximum amount of objects */
  22. #define maxlights 50            /* Maximum amount of light-sources */
  23. #define mincoord -10000.0        /* Minimum value for any x/y/z coordinate */
  24. #define maxcoord 10000.0        /* Maximum value for any x/y/z coordinate */
  25. #define maxsumcoord 3*maxcoord
  26. #define aamaxlevel 9            /* Antialiasing recursion matrix (9 <=> 9x9 matrix <=> 4 recursions) */
  27.  
  28. #define EPSILON 1.0e-7            /* A small value > 0 */
  29. #ifndef PID4
  30. #define PID4 0.78539816339744830962    /* PI/4 = 45 degrees */
  31. #endif
  32. #ifndef PID2
  33. #define PID2 1.57079632679489661923    /* PI/2 = 90 degrees */
  34. #endif
  35. #ifndef PI
  36. #define PI   3.14159265358979323846    /* PI   = 180 degrees */
  37. #endif
  38. #ifndef PIM2
  39. #define PIM2 6.28318530717958647692    /* PI*2 = 360 degrees */
  40. #endif
  41. #define RADPDEG 0.01745329252480056695    /* 2PI / 360 */
  42. #define DEGPRAD 57.29577951308234943    /* 360 / 2PI */
  43.  
  44.  
  45. #define SHAPE_PLANE 1            /* Define shape identifiers */
  46. #define SHAPE_SPHERE 2
  47. #define SHAPE_ELLIPSOID 3
  48. #define SHAPE_BOX 4
  49. #define SHAPE_TRIANGLE 5
  50. #define SHAPE_DISC 6
  51. #define SHAPE_CYLINDER 7
  52.  
  53. #define PATTERN_NONE 0            /* Define texture pattern identifiers */
  54. #define PATTERN_CHECKER 1
  55. #define PATTERN_CIRCLES 2
  56. #define PATTERN_RINGS 3
  57. #define PATTERN_SPOTS 4
  58. #define PATTERN_GRADIENT 5
  59.  
  60. #define TRANSFORM_NONE 0        /* Define transform identifiers */
  61. #define TRANSFORM_SCALE 1
  62. #define TRANSFORM_MOVE 2
  63. #define TRANSFORM_ROTATE 3
  64.